import time

class MyTimer():
    def __init__(self):
        self.prompt="未开始计时！"
        self.unit=["年","月","日","时","分","秒"]
        self.begin=0
        self.end=0
        self.l=[]

    def __add__(self,other):
        result=[]
        prompt="共计："
        for i in range(6):
            result.append(self.l[i]+other.l[i])
            if result[i]:
                prompt+=(str(result[i])+self.unit[i])
        return prompt

    def start(self):
        self.prompt="请先调用stop()函数"
        print("开始计时...")
        self.begin=time.localtime()

    def stop(self):
        if not self.begin:
            print("请先调用start()函数")
            return
        print("停止计时!")
        self.end=time.localtime()
        self.prompt="共运行："
        self.l=[]#在进行计算前先清空历史记录
        for i in range(6):
            self.l.append(self.end[i]-self.begin[i])
            if self.l[i]:
                self.prompt+=(str(self.l[i])+self.unit[i])
        self.begin=0
        self.end=0

    def __str__(self):
        #print(对象)即调用对象的__str__函数，此函数要返回一个String对象，即返回一个字符串，类似java中打印一个对象即调用这个对象的tostring方法。
        return self.prompt

    #此函数或直接写成__repr__=__str__
    def __repr__(self):
        #直接运行对象即调用对象__repr__函数，并打印此函数的返回值，此函数的返回值为字符串类型
        return self.prompt